package lormi.meipin.service;

import lormi.meipin.dto.*;
import lormi.meipin.entity.Talent;
import lormi.meipin.exception.LMException;
import lormi.meipin.vo.*;

import java.util.List;

/**
 * 个人信息处理接口
 * @author ThreeFeng
 * @date 2016年8月12日 下午4:39:45
 */
public interface ITalentService {

	/**
	 * 个人注册
	 * @param regTalent 个人用户注册参数对象
     * @return LoginVo
	 */
	LoginVo regTalent(RegTalent regTalent) throws LMException;
	
	/**
	 * 获取个人数据
	 * @param userid 用户ID
     * @return Talent
	 */
	Talent getTalent(Integer userid) throws LMException;
	
	/**
	 * 修改个人数据
	 * @param talentEditDto　个人用户修改参数对象
	 */
	void editTalent(TalentEditDto talentEditDto) throws LMException;
	
	/**
	 * 获取个人中心
	 * @param userid　用户ID
     * @return TalentCenterVo
	 */
	TalentCenterVo getTalentCenter(Integer userid) throws LMException;
	
	/**
	 * 商家=》找页面查询
	 * @param talentSearchDto 商家查询参数对象
	 * @return List<TalentSearchVo>
	 */
	List<TalentSearchVo> searchTalent(TalentSearchDto talentSearchDto) throws LMException;

	/**
	 * 商家=》附近页面查询
	 * @param talentNearByDto 商家附近参数对象
	 * @return List<TalentSearchVo>
	 */
	List<TalentSearchVo> nearByTalent(TalentNearByDto talentNearByDto) throws LMException;
	
	/**
	 * 商家=》查看个人信息
	 * @param userid 商家ID
	 * @param talentid 个人ID
	 * @param sharecode　分享码（固定）
	 * @return TalentSeeVo
	 */
	TalentSeeVo seeTalent(Integer userid, Integer talentid, String sharecode) throws LMException;
	
	/**
	 * 商家=》查看个人信息
	 * @param currencyDto 通用分页参数对象
	 * @return List<TalentNoticeVo>
	 */
	List<TalentNoticeVo> noticeTalent(CurrencyDto currencyDto) throws LMException;
	
}
